package com.glaway.car.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Arrays;

public class Record {
    private String id;
    private String userCarId;
    private String stationId;
    private LocalDateTime startTime;
    private LocalDateTime endTime;
    private BigDecimal chargeCapacity;
    private BigDecimal chargeCost;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;
    private String stationName;
    private String location;
    private String operator;
    private String description;
    private String plateNumber;
    private String username;
    private String phoneNumber;
    private byte[] aesPhoneNumber;
    private String carType;
    private BigDecimal batteryCapacity;

    public Record() {
    }

    public Record(String id, String userCarId, String stationId, LocalDateTime startTime, LocalDateTime endTime, BigDecimal chargeCapacity, BigDecimal chargeCost, LocalDateTime createTime, LocalDateTime updateTime, String stationName, String location, String operator, String description, String plateNumber, String username, String phoneNumber, byte[] aesPhoneNumber, String carType, BigDecimal batteryCapacity) {
        this.id = id;
        this.userCarId = userCarId;
        this.stationId = stationId;
        this.startTime = startTime;
        this.endTime = endTime;
        this.chargeCapacity = chargeCapacity;
        this.chargeCost = chargeCost;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.stationName = stationName;
        this.location = location;
        this.operator = operator;
        this.description = description;
        this.plateNumber = plateNumber;
        this.username = username;
        this.phoneNumber = phoneNumber;
        this.aesPhoneNumber = aesPhoneNumber;
        this.carType = carType;
        this.batteryCapacity = batteryCapacity;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserCarId() {
        return userCarId;
    }

    public void setUserCarId(String userCarId) {
        this.userCarId = userCarId;
    }

    public String getStationId() {
        return stationId;
    }

    public void setStationId(String stationId) {
        this.stationId = stationId;
    }

    public LocalDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime) {
        this.startTime = startTime;
    }

    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public BigDecimal getChargeCapacity() {
        return chargeCapacity;
    }

    public void setChargeCapacity(BigDecimal chargeCapacity) {
        this.chargeCapacity = chargeCapacity;
    }

    public BigDecimal getChargeCost() {
        return chargeCost;
    }

    public void setChargeCost(BigDecimal chargeCost) {
        this.chargeCost = chargeCost;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getPlateNumber() {
        return plateNumber;
    }

    public void setPlateNumber(String plateNumber) {
        this.plateNumber = plateNumber;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public byte[] getAesPhoneNumber() {
        return aesPhoneNumber;
    }

    public void setAesPhoneNumber(byte[] aesPhoneNumber) {
        this.aesPhoneNumber = aesPhoneNumber;
    }

    public String getCarType() {
        return carType;
    }

    public void setCarType(String carType) {
        this.carType = carType;
    }

    public BigDecimal getBatteryCapacity() {
        return batteryCapacity;
    }

    public void setBatteryCapacity(BigDecimal batteryCapacity) {
        this.batteryCapacity = batteryCapacity;
    }

    @Override
    public String toString() {
        return "Record{" +
                "id='" + id + '\'' +
                ", userCarId='" + userCarId + '\'' +
                ", stationId='" + stationId + '\'' +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", chargeCapacity=" + chargeCapacity +
                ", chargeCost=" + chargeCost +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", stationName='" + stationName + '\'' +
                ", location='" + location + '\'' +
                ", operator='" + operator + '\'' +
                ", description='" + description + '\'' +
                ", plateNumber='" + plateNumber + '\'' +
                ", username='" + username + '\'' +
                ", phoneNumber='" + phoneNumber + '\'' +
                ", aesPhoneNumber=" + Arrays.toString(aesPhoneNumber) +
                ", carType='" + carType + '\'' +
                ", batteryCapacity=" + batteryCapacity +
                '}';
    }
}
